shell 编程
认识
环境
Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux 的 Shell 种类众多,常见的有:
- Bourne Shell(/usr/bin/sh 或/bin/sh)
- Bourne Again Shell(/bin/bash)
- C Shell(/usr/bin/csh)
- K Shell(/usr/bin/ksh)
- Shell for Root(/sbin/sh)
- ……
Bash 是大多数 Linux 系统默认的 Shell。
在一 般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。
#!/bin/bash
echo "Hello World !"
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。
Shebang(也称为 Hashbang)是一个由井号和叹号构成的字符串行(#!),其出现在文本文件的第一行的前两个字符。在文件中存在 Shebang 的情况下,类 Unix 操作系统的程序载入器会分析 Shebang 后的内容,将这些内容作为解释器指令,并调用该指令,并将载有 Shebang 的文件路径作为该解释器的参数
例如, 以指令 #!/bin/sh 开头的文件在执行时会实际调用 /bin/sh 程序
运行
作为可执行程序
chmod +x ./test.sh # 使脚本具有执行权限
./test.sh # 执行脚本
在 linux 中,后缀名几乎是可以任意的或者没有后缀名,一般将 shell 保存为 xxx.sh 是为了看起来更直观
./test.sh 若写成 test.sh,系统会去 PATH 里寻找有没有叫 test.sh 的文件,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里